package meterMonitor.mapper;

import meterMonitor.model.DataRecPO;
import meterMonitor.model.vo.CallParameter;
import meterMonitor.model.vo.DataVO;
import org.apache.ibatis.annotations.Param;

import java.sql.Timestamp;
import java.util.List;

public interface DataRecMapper {

    void addDataRec(DataRecPO dataRec);

    void deleteDataRecById(DataRecPO dataRec);

    void updateDataRec(DataRecPO dataRec);

    List<DataRecPO> queryDataRec(CallParameter callParameter);

    DataRecPO getDataRecById(Integer recId);

    DataVO liquidMedicine(@Param("tableName") String tableName, @Param("devType") int devType, @Param("date") String date);

    List<Timestamp> getRecTimes(@Param("tableName") String tableName, @Param("devType") int devType);

    DataRecPO queryDataRecFromPartitionTable(@Param("tableName") String tableName, @Param("lotId") Integer lotId, @Param("devType") Integer devType, @Param("isOverLimit") Integer isOverLimit);

    List<DataRecPO> queryHistory(@Param("tableName") String tableName, @Param("slotIds") String slotIds, @Param("devTypes") String devTypes, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime, @Param("devIds") String devIds);
}
